package com.yl.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import lombok.Data;

/**
 * 菜单表
 * 
 * @author zlj
 * @email 328727561@qq.com
 * @date 2024-04-17 11:28:08
 */
@Data
@TableName("sys_permission")
public class PermissionEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 权限编号
	 */
	@TableId
	private Long id;
	/**
	 * 权限名称
	 */
	private String label;
	/**
	 * 父权限id
	 */
	private Long parentId;
	/**
	 * 父权限名称
	 */
	private String parentName;
	/**
	 * 权限标识符
	 */
	private String code;
	/**
	 * 路由地址
	 */
	private String path;
	/**
	 * 名称
	 */
	private String name;
	/**
	 * 权限路径
	 */
	private String url;
	/**
	 * 权限类型(0-目录、1-菜单、2-按钮)
	 */
	private Integer type;
	/**
	 * 图标
	 */
	private String icon;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 修改时间
	 */
	private Date updateTime;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 排序
	 */
	private Integer orderNum;
	/**
	 * 是否删除(0-未删除、1已删除)
	 */
	private Integer isDelete;


	/**
	 * 路径重定向
	 */
	private String component;
	/**
	 * 子菜单列表
	 */
	@TableField(exist = false)
	private List<PermissionEntity> children = new ArrayList<>();

	/**
	 * 用于前端判断是菜单、目录或按钮
	 */
	@TableField(exist = false)
	private String value;

	/**
	 * 是否是展开
	 */
	@TableField(exist = false)
	private Boolean open;

}
